package com.atguigu.netty.buf;

import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;

public class NettyByteBuf01 {
    public static void main(String[] args) {
        //创建一个ByteBuf
        /**
         * 说明
         * 1.创建对象，该对象包含一个数组 arr ,是一个 byte[10]
         * 2.在 netty 的 buffer 中，不需要使用 flip 进行反转
         *   底层维护了 readerIndex 和 writerIndex
         * 3.通过 readerIndex 和 writerIndex 和 capacity ，将 buffer 分成三个区域
         *   0----readerIndex 已经读取的区域
         *   readerIndex----writerIndex 可读的区域
         *   writerIndex----capacity 可写的区域
         */
        ByteBuf buf = Unpooled.buffer(10);
        for (int i = 0; i < 10; i++) {
            buf.writeByte(i);
        }

        System.out.println("capacity=" + buf.capacity());//10
        //输出
        for (int i = 0; i < buf.capacity(); i++) {
            System.out.println(buf.getByte(i));
        }

        for (int i = 0; i < buf.capacity(); i++) {
            System.out.println(buf.readByte());
        }
    }
}
